package fin_enum

import "gitee.com/lailonghui/vehicle-supervision-framework/pkg/dicts"

// 财务-缴费方式
type finFeeManner int

var FinFeeManner finFeeManner

// 现金缴费
func (c *finFeeManner) Cash() int {
	return 1
}

// 转账
func (c *finFeeManner) TransferAccount() int {
	return 2
}

// 公司基本户
func (c *finFeeManner) CompanyBasicAccount() int {
	return 3
}

// 其他账户
func (c *finFeeManner) OtherAccount() int {
	return 4
}

// 预缴
func (c *finFeeManner) PrePay() int {
	return 5
}

// 其他方式
func (c *finFeeManner) OtherMethod() int {
	return 6
}

// 公司一般户
func (c *finFeeManner) CompanyCommonlyAccount() int {
	return 7
}

// 现金退款
func (c *finFeeManner) CashReturn() int {
	return 11
}

// 银行汇款
func (c *finFeeManner) BankRemittance() int {
	return 12
}

func (c *finFeeManner) ToText(value int) string {
	switch value {

	case 1:
		return "现金缴费"

	case 2:
		return "转账"

	case 3:
		return "公司基本户"

	case 4:
		return "其他账户"

	case 5:
		return "预缴"

	case 6:
		return "其他方式"

	case 7:
		return "公司一般户"

	case 11:
		return "现金退款"

	case 12:
		return "银行汇款"

	}
	return ""
}

func (c *finFeeManner) ToDict(value int) *dicts.IntDict {
	return &dicts.IntDict{
		Text:  c.ToText(value),
		Value: value,
	}
}

func (c *finFeeManner) ToValue(text string) int {
	switch text {

	case "现金缴费":
		return 1

	case "转账":
		return 2

	case "公司基本户":
		return 3

	case "其他账户":
		return 4

	case "预缴":
		return 5

	case "其他方式":
		return 6

	case "公司一般户":
		return 7

	case "现金退款":
		return 11

	case "银行汇款":
		return 12

	}
	return 0
}
